/**
 * Creat with IntelliJ IDEA
 * Description:
 * User:WZW
 * Date:2021-10-22
 * Time:7:00
 */

public class Test {
    public static int NumOfOne(int n){
        int count = 0;
        for (int i = 0; i < 32; i++) {
            if((n&1)==1) {
                count++;
            }
            n>>>=1;
            if(n==0){
                break;
            }
        }
        return count;
    }
    public static void main(String[] args) {
        int n = 7;
        int num = NumOfOne(n);
        System.out.println(num);
    }
    public static void main1(String[] args) {
        /*
        求出0～999之间的所有“水仙花数”并输出。
        (“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本身
        如；153＝1＋5＋3?，则153是一个“水仙花数“。）
         */
        int n = 999;
        for (int i = 100; i <= n; i++) {
            int count = 3;
            int tmp = i;
            int sum = 0;
            for (int j = 0; j < count; j++) {
                sum += Math.pow(tmp%10,count);
                tmp/=10;
            }
            if(sum==i){
                System.out.println(sum);
            }
        }
//        for (int i = 1; i <= n; i++) {
//            int count = 0;
//            int tmp = i;
//            while(tmp!=0){
//                count++;
//                tmp /= 10;
//            }
//            tmp = i;
//            int sum = 0;
//            for (int j = 0; j < count; j++) {
//                sum += Math.pow(tmp%10,count);
//                tmp/=10;
//            }
//            if(sum==i){
//                System.out.println(sum);
//            }
//        }
    }
}
